package config

import (
	"encoding/json"
	"io/ioutil"
)

type Config struct {
	Ip                string `json:"ip"`
	Port              string `json:"port"`
	DbDriver          string `json:"db_driver"`
	DbHost            string `json:"db_host"`
	DbPort            string `json:"db_port"`
	DbName            string `json:"db_name"`
	DbUser            string `json:"db_user"`
	DbPassword        string `json:"db_password"`
	SqlserverHost     string `json:"sqlserver_host"`
	SqlserverPort     string `json:"sqlserver_port"`
	SqlserverName     string `json:"sqlserver_name"`
	SqlserverUser     string `json:"sqlserver_user"`
	SqlserverPassword string `json:"sqlserver_password"`
	Actuator          string `json:"actuator"`
	Run               string `json:"run"`
}

var (
	// G_config 单例
	G_config *Config
)

// InitConfig 加载配置
func InitConfig(filename string) (err error) {
	var (
		content []byte
		conf    Config
	)

	//读取配置
	if content, err = ioutil.ReadFile(filename); err != nil {
		return err
	}

	//json反序列化
	if err = json.Unmarshal(content, &conf); err != nil {
		return err
	}
	//赋值
	G_config = &conf
	return
}
